package com.ruoyi.business.service;

import com.ruoyi.business.domain.EquipmentVariables;
//import com.ruoyi.business.vo.StripTemMonitorVO;

import java.util.List;

/**
 * 存储设备变量参数信息的Service接口
 * 
 * @author ldkj
 * @date 2025-02-27
 */
public interface IEquipmentVariablesService 
{
    /**
     * 查询存储设备变量参数信息的
     * 
     * @param variableId 存储设备变量参数信息的主键
     * @return 存储设备变量参数信息的
     */
    public EquipmentVariables selectEquipmentVariablesByVariableId(Long variableId);

    /**
     * 查询存储设备变量参数信息的列表
     * 
     * @param equipmentVariables 存储设备变量参数信息的
     * @return 存储设备变量参数信息的集合
     */
    public List<EquipmentVariables> selectEquipmentVariablesList(EquipmentVariables equipmentVariables);

    /**
     * 新增存储设备变量参数信息的
     * 
     * @param equipmentVariables 存储设备变量参数信息的
     * @return 结果
     */
    public int insertEquipmentVariables(EquipmentVariables equipmentVariables);

    /**
     * 修改存储设备变量参数信息的
     * 
     * @param equipmentVariables 存储设备变量参数信息的
     * @return 结果
     */
    public int updateEquipmentVariables(EquipmentVariables equipmentVariables);

    /**
     * 批量删除存储设备变量参数信息的
     * 
     * @param variableIds 需要删除的存储设备变量参数信息的主键集合
     * @return 结果
     */
    public int deleteEquipmentVariablesByVariableIds(Long[] variableIds);

    /**
     * 删除存储设备变量参数信息的信息
     * 
     * @param variableId 存储设备变量参数信息的主键
     * @return 结果
     */
    public int deleteEquipmentVariablesByVariableId(Long variableId);

//    /**
//     * 生产管理->>带钢温度监控->>获取电磁感应入口温度
//     * @param equipmentVariables
//     * @return
//     */
//    public StripTemMonitorVO getStrpTempVo(EquipmentVariables equipmentVariables);


    /**
     * 导入设备变量数据
     * 
     * @param equipmentVariablesList 设备变量数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，是否进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importEquipmentVariables(List<EquipmentVariables> equipmentVariablesList, Boolean isUpdateSupport, String operName);

    /**
     * 查询设备变量列表（用于导出，包含次级设备类型名称）
     * 
     * @param equipmentVariables 设备变量
     * @return 设备变量集合
     */
    public List<EquipmentVariables> selectEquipmentVariablesListForExport(EquipmentVariables equipmentVariables);

    /**
     * 根据变量英文名称列表批量查询设备变量
     * 
     * @param variableEnNames 变量英文名称列表
     * @return 设备变量集合
     */
    public List<EquipmentVariables> selectEquipmentVariablesByEnNames(List<String> variableEnNames);

    /**
     * 批量更新设备变量的值和更新时间
     * 
     * @param equipmentVariables 设备变量列表
     * @return 影响的行数
     */
    public int batchUpdateVariableValues(List<EquipmentVariables> equipmentVariables);
}
